package com.dongan.pojo;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 文件
 * </p>
 *
 * @author longTao
 * @since 2021-06-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("d_file")
public class File implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键,使用mp主键策略
     */
      @TableId(value = "ID", type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 产品编号
     */
    @TableField("PRODUCT_ID")
    private String productId;

    /**
     * 产品名称
     */
    @TableField("PRODUCT_NAME")
    private String productName;

    /**
     * 工厂名称
     */
    @TableField("FACTORY_NAME")
    private String factoryName;

    /**
     * 第一种类ID
     */
    @TableField("FIRST_KIND_ID")
    private String firstKindId;

    /**
     * 第一种类名称
     */
    @TableField("FIRST_KIND_NAME")
    private String firstKindName;

    /**
     * 第二种类ID
     */
    @TableField("SECOND_KIND_ID")
    private String secondKindId;

    /**
     * 第二种类名称
     */
    @TableField("SECOND_KIND_NAME")
    private String secondKindName;

    /**
     * 第三种类ID
     */
    @TableField("THIRD_KIND_ID")
    private String thirdKindId;

    /**
     * 第三种类名称
     */
    @TableField("THIRD_KIND_NAME")
    private String thirdKindName;

    /**
     * 产品结构
     */
    @TableField("PRODUCT_NICK")
    private String productNick;

    /**
     * 类型
     */
    @TableField("TYPE")
    private String type;

    /**
     * 产品类别
     */
    @TableField("PRODUCT_CLASS")
    private String productClass;

    /**
     * 个人单位
     */
    @TableField("PERSONAL_UNIT")
    private String personalUnit;

    /**
     * 个人价值
     */
    @TableField("PERSONAL_VALUE")
    private String personalValue;

    /**
     * 供应商集合
     */
    @TableField("PROVIDER_GROUP")
    private String providerGroup;

    /**
     * 保修
     */
    @TableField("WARRANTY")
    private String warranty;

    /**
     * 双胞胎名字
     */
    @TableField("TWIN_NAME")
    private String twinName;

    /**
     * 双胞胎ID
     */
    @TableField("TWIN_ID")
    private String twinId;

    /**
     * 生命周期
     */
    @TableField("LIFECYCLE")
    private String lifecycle;

    /**
     * 出售标价
     */
    @TableField("LIST_PRICE")
    private BigDecimal listPrice;

    /**
     * 成本价格
     */
    @TableField("COST_PRICE")
    private BigDecimal costPrice;

    /**
     * 真实的成本价格
     */
    @TableField("REAL_COST_PRICE")
    private BigDecimal realCostPrice;

    /**
     * 单位
     */
    @TableField("AMOUNT_UNIT")
    private String amountUnit;

    /**
     * 产品描述
     */
    @TableField("PRODUCT_DESCRIBE")
    private String productDescribe;

    /**
     * 负责人
     */
    @TableField("RESPONSIBLE_PERSON")
    private String responsiblePerson;

    /**
     * 登记人
     */
    @TableField("REGISTER")
    private String register;

    /**
     * 注册时间
     */
    @TableField("REGISTER_TIME")
    @DateTimeFormat(pattern = "yyy-MM-dd HH:mm:ss")
    @JsonFormat(locale = "zh",timezone = "GMT+8",pattern = "yyy-MM-dd HH:mm:ss")
    private Date registerTime;

    /**
     * 检验员
     */
    @TableField("CHECKER")
    private String checker;

    /**
     * 检验时间
     */
    @TableField("CHECK_TIME")
    @DateTimeFormat(pattern = "yyy-MM-dd HH:mm:ss")
    @JsonFormat(locale = "zh",timezone = "GMT+8",pattern = "yyy-MM-dd HH:mm:ss")
    private Date checkTime;

    /**
     * 核对标签
     */
    @TableField("CHECK_TAG")
    private String checkTag;

    /**
     * 更换
     */
    @TableField("CHANGER")
    private String changer;

    /**
     * 更换时间
     */
    @TableField("CHANGE_TIME")
    @DateTimeFormat(pattern = "yyy-MM-dd HH:mm:ss")
    @JsonFormat(locale = "zh",timezone = "GMT+8",pattern = "yyy-MM-dd HH:mm:ss")
    private Date changeTime;

    /**
     * 更换标签
     */
    @TableField("CHANGE_TAG")
    private String changeTag;

    /**
     * 价格变化的标签
     */
    @TableField("PRICE_CHANGE_TAG")
    private String priceChangeTag;

    /**
     * 文件更改数量
     */
    @TableField("FILE_CHANGE_AMOUNT")
    private Integer fileChangeAmount;

    /**
     * 删除标签
     */
    @TableField("DELETE_TAG")
    private String deleteTag;

    /**
     * 设计模块标签
     */
    @TableField("DESIGN_MODULE_TAG")
    private String designModuleTag;

    /**
     * 设计过程标签
     */
    @TableField("DESIGN_PROCEDURE_TAG")
    private String designProcedureTag;

    /**
     * 库存分配标志
     */
    @TableField("DESIGN_CELL_TAG")
    private String designCellTag;

    /**
     * 创建时间
     */
      @TableField(fill = FieldFill.INSERT)
      @DateTimeFormat(pattern = "yyy-MM-dd HH:mm:ss")
      @JsonFormat(locale = "zh",timezone = "GMT+8",pattern = "yyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 修改时间
     */
      @TableField(fill = FieldFill.INSERT_UPDATE)
      @DateTimeFormat(pattern = "yyy-MM-dd HH:mm:ss")
      @JsonFormat(locale = "zh",timezone = "GMT+8",pattern = "yyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 逻辑删除(0:true不删除,1:false删除)
     */
    @TableLogic
    private Integer deleted;


}
